﻿using System.Collections.Generic;
using Cos.Core.Model.Security;

namespace Cos.Core.Module.Service
{
    public interface IModuleService
    {
        /**
         * @return a list of plugins
         */
        IEnumerable<IModule> GetPlugins();

        /**
         * @param user the authenticated user
         * @return the list of plugins available for the customer
         */
        IEnumerable<IModule> GetAvailablePlugins(User user);

        /**
         * Call to initialize the plugin
         */
        void InitPlugins();
    }
}
